package com.sys.SysLogs.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sys.common.annotation.Excel;
import com.sys.common.core.domain.BaseEntity;

/**
 * 库存操作日志对象 sys_sales_inventory_logs
 * 
 * @author ruoyi
 * @date 2025-09-28
 */
public class SysSalesInventoryLogs extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long logId;

    /** 产品id */
    @Excel(name = "产品id")
    private Long productId;

    /** 变更类型 */
    @Excel(name = "变更类型")
    private String changeType;

    /** 变更数量 */
    @Excel(name = "变更数量")
    private Long changeQuantity;

    /** 关联订单ID */
    @Excel(name = "关联订单ID")
    private Long orderId;

    /** 操作人ID（来自 sys_user） */
    @Excel(name = "操作人ID", readConverterExp = "来=自,s=ys_user")
    private Long operatorId;

    /** 原因说明 */
    @Excel(name = "原因说明")
    private String reason;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 修改人 */
    @Excel(name = "修改人")
    private String updatedBy;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setLogId(Long logId) 
    {
        this.logId = logId;
    }

    public Long getLogId() 
    {
        return logId;
    }

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setChangeType(String changeType) 
    {
        this.changeType = changeType;
    }

    public String getChangeType() 
    {
        return changeType;
    }

    public void setChangeQuantity(Long changeQuantity) 
    {
        this.changeQuantity = changeQuantity;
    }

    public Long getChangeQuantity() 
    {
        return changeQuantity;
    }

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public void setOperatorId(Long operatorId) 
    {
        this.operatorId = operatorId;
    }

    public Long getOperatorId() 
    {
        return operatorId;
    }

    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }

    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("logId", getLogId())
            .append("productId", getProductId())
            .append("changeType", getChangeType())
            .append("changeQuantity", getChangeQuantity())
            .append("orderId", getOrderId())
            .append("operatorId", getOperatorId())
            .append("reason", getReason())
            .append("createdBy", getCreatedBy())
            .append("createdAt", getCreatedAt())
            .append("updatedBy", getUpdatedBy())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
